1. Technical Field
This disclosure relates generally to memory management in a data processing system and more specifically to managing data staging in the data processing system.
2. Description of the Related Art
As several different performing tiers in memory become more prevalent the underlying physical memory in computer systems becomes less uniform. Moreover, with the emergence of cloud computing technologies use of virtualized environments is growing in an effort to utilize machines to a fullest capacity with respect to processors and memory.
Application memory space is typically spread across several different underlying physical memory implementations, each potentially having a different access speed. Thus, there is a strong need for distributing application data in an access frequency conscious manner. Placing most frequently accessed, or more popular, data on a fastest physical memory ensures optimal application performance, reduces power consumption and allows for a highest level of hardware utilization.
To address the challenge several data access frequency detection methods have been developed. Combining a data access frequency detection method with a memory management system, such as a garbage collector associated with a virtual machine of a managed runtime, results in an ability to intelligently distribute data associated with an application in a tiered memory environment. Better distribution typically improves overall data access times of the application.
However, perfectly accurate data access frequency detection has a very large negative impact on application performance. The data access frequency detection methods must therefore sacrifice a certain level of accuracy to have a lower runtime overhead. Reduced accuracy typically causes certain pieces of very frequently accessed data to be missed by a popularity detection process. The movement of even a few highly popular data items (or objects) to a slower form of memory may greatly lower the performance of the application.